怎么求质数```快快帮帮我哦谢谢呢

来源:百度知道 编辑:UC知道 时间:2024/07/02 11:57:48
怎么求质数```快快帮帮我哦谢谢呢
for(; 这一定要说清楚数学方面我不是很行的 ;)
帮写下```
就是输出100以内的质数/素数`````
要给个解释````谢谢```

简单的比较,如果某个数不是素数,肯定存在一个小于它的素数,是它的一个因数,所以每次都与以前的素数进行比较,如果都不能整除,则这个数为素数,否则不为素数
#include <string>
#include <iostream>
#include<cmath>
bool empty[200];
int prim[200];

void PRIM()
{
int i,j,total;
int n;
total=0;
memset(empty,false,sizeof(empty));
for(i=1;i<=100;)
{
FIRST:
i++;
n=sqrt(i);
for(j=1;(prim[j]<=n)&&(j<=total);j++){
if(i%prim[j]==0) goto FIRST;
}
total++;
prim[total]=i;
empty[i]=1;
}
for(i=1;i<=total;i++) printf("%d ",prim[i]);
printf("\n");
}

int main()
{
PRIM();
system("pause");
return 0;
}

#include<stdio.h>
void f(int x)
{
int i;
for(i=2;i<=x;i++)
{
if(x%i!=0)
continue;
else if(i==x) pri